KMS key建立
先決條件
你的帳號必須要有幾個IAM的Policy,包含kms:CreateKey 、 kms:CreateAlias 讓你在每個新的 KMS 金鑰都需要一個alias、kms:TagResource 讓你加上 tags 、iam:CreateServiceLinkedRole 可以讓你建立多區域的 primary keys。
建立對稱式金鑰
1.找到KMS,並按下Create a key,這裡的key指的是CMK
2.選Symmetric,按Next
3.輸入Key的alias名稱,這邊記得你無法輸入"aws/",作為開頭,這是AWS預設為AWS 託管的金鑰名稱。
Despription可以輸入這把key的相關資訊,例如:什麼時候建立、公用維和、什麼時候需要替換等訊息。Tags可以選填,填完就按Next
4.這邊要選擇誰有權限來管理這把key。下面選擇管理者是否可以刪除這把key,選完就按Next
5.這邊要選擇誰有權限來使用這把key,如果是有跨帳號使用的需求在下面輸入,選完按Next
6.最後會顯示建立資訊,可以做最後確認,確認完畢按finish就完成了
建立非對稱式金鑰
步驟幾乎跟對稱式金鑰一樣,差別在步驟二的地方選Asymmetric,要為Public key加密,選擇Encrypt and decrypt。 要創建用於簽署消息和驗證簽名選擇Sign and verify,下面會列出加密方法,你可以選擇適合你的
如何啟用KMS金鑰輪換
1.找到你想要進行KMS金鑰輪換的那把key,點進去
2.在Key rotation的地方勾選Automatically rotate this KMS key every year,接著按save就完成了
Secrets Manager secret建立
1.找到Secrets Manager,按Store a new secret
2.這裡可以選擇DB的類型並輸入名稱以及密碼。如果選Other type of secret,可自行輸入key/value
3.接下來選要用哪把key來進行加密,下面選擇要輪換secret的資料庫,選完按Next
4.輸入secret的名稱。下面敘述、tag、資源許可以及要不要複製secret到其他region都是選填,填完按Next
5.接下來這邊可以選要不要啟用secret的輪換,多久輪換一次,最長可設定365。
6.密碼的輪換是由Lambda來執行的這邊可以選擇新建或是使用已經建好的。下面要選擇誰執行輪換的secret,如果你是super user就選一個,如果是功能性使用選下面的選項,功能執行時他會有暫時的super user權限
7.最後會列出所有資訊沒問題就按save就完成了
如果沒有在一開始啟用secret rotate該如何設定?
1.點進你想啟用secret rotate的secret manager
2.找到Rotation configuration,按Edit rotation
3.接下來的步驟跟上面的5跟6一樣,設定完成之後按save就完成囉
小結
透過KMS來建立key rotate以及透過secret manager來執行secret的輪換是非常重要的一件事,當key以及secret過期對於資料的加密性質幾乎等於失效。透過定期的輪換也可以減少被字典噴灑式攻擊的可能性。下一篇我們將進到五大面向的最後一個面向:事件回應。